package com.pxst.merchant.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.pxst.entity.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
*
* @author Cheng
* @since 2023-11-16 9:03:31
*/
@Data
@TableName("sys_merchant_info")
public class SysMerchantInfoEntity extends BaseEntity {

    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    @TableId
    @ApiModelProperty("商户id")
    private Long shId;

    @NotNull
    @ApiModelProperty(value = "商户名称")
    private String name;

    @NotNull
    @ApiModelProperty(value = "商户编码")
    private String code;


    @NotNull
    @ApiModelProperty(value = "代理ID")
    private Long agentId;

    @NotNull
    @ApiModelProperty(value = "银行卡群ID")
    private Long bankGroupId;

    @NotNull
    @ApiModelProperty(value = "启用FO比对账户名称")
    private Integer checkAccname;


    @NotNull
    @ApiModelProperty(value = "币种")
    private String currency;

    @NotNull
    @ApiModelProperty(value = "最大银行充值")
    private BigDecimal fiBankMax;

    @NotNull
    @ApiModelProperty(value = "最小银行充值")
    private BigDecimal fiBankMin;

    @NotNull
    @ApiModelProperty(value = "银行充值费率%")
    private BigDecimal fiBankRate;

    @NotNull
    @ApiModelProperty(value = "最大qrpay充值")
    private BigDecimal fiQrMax;

    @NotNull
    @ApiModelProperty(value = "最小qrpay充值")
    private BigDecimal fiQrMin;

    @NotNull
    @ApiModelProperty(value = "QRPay充值费率%")
    private BigDecimal fiQrRate;

    @NotNull
    @ApiModelProperty(value = "支持第三方充值类型-为空时表示不支持第三方充值（多个第三方充值用逗号隔开 如:支付宝,微信）")
    private String fiTriType;

    @NotNull
    @ApiModelProperty(value = "最大TrueWallet充值")
    private BigDecimal fiTwMax;

    @NotNull
    @ApiModelProperty(value = "最小TrueWallet充值")
    private BigDecimal fiTwMin;

    @NotNull
    @ApiModelProperty(value = "TrueWallet 充值费率%")
    private BigDecimal fiTwRate;

    @NotNull
    @ApiModelProperty(value = "代付费用")
    private BigDecimal foAmount;

    @NotNull
    @ApiModelProperty(value = "最大代付")
    private BigDecimal foMax;

    @NotNull
    @ApiModelProperty(value = "最小代付")
    private BigDecimal foMin;

    @NotNull
    @ApiModelProperty(value = "代付费率%")
    private BigDecimal foRate;

    @NotNull
    @ApiModelProperty(value = "最大下发银行帐户数量")
    private Integer fxBankCardMax;

    @NotNull
    @ApiModelProperty(value = "最大下发")
    private BigDecimal fxMax;

    @NotNull
    @ApiModelProperty(value = "最小下发")
    private BigDecimal fxMin;

    @NotNull
    @ApiModelProperty(value = "不使用 QR Pay 金额调整的合约")
    private Integer noQrAdj;

    @NotNull
    @ApiModelProperty(value = "QR随机加扣款 0: 扣款, 1:加款")
    private Integer noQrAdjRandom;

    @NotNull
    @ApiModelProperty(value = "启用FO由商户支付银行手续费")
    private Integer payFoBankFee;

    @NotNull
    @ApiModelProperty(value = "QR商户名称")
    private String qrName;

    @NotNull
    @ApiModelProperty(value = "商户秘钥")
    private String secret;

    @NotNull
    @ApiModelProperty(value = "结算手续费")
    private BigDecimal settFee;

    @NotNull
    @ApiModelProperty(value = "fi 入款延迟天数，0 为关闭设定")
    private Integer settlementTerm;

    @NotNull
    @ApiModelProperty(value = "状态 0 Pending(等待) 1 Active(启用) 2 Inactive(禁用) 3 Closed(关闭) BS200")
    private Integer status;

    @NotNull
    @ApiModelProperty(value = "是否使用 QR 附言")
    private Integer useQrPairingCode;

    @NotNull
    @ApiModelProperty(value = "web网址")
    private String webSite;

}
